UNION[ALL]运算符
UNION 运算符
UNION
运算符用于组合两个或多个 SELECT
语句的结果集。
UNION
中的每个SELECT语句必须具有相同的列数- 列还必须具有类似的数据类型
- 每个SELECT语句中的列也必须具有相同的顺序, 列名必须相同。
UNION
本身是去重的。
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
UNION ALL语法
UNION
运算符默认情况下仅选择不同的值。要允许重复值,请使用UNION ALL
:
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
注意:结果集中的列名通常等于UNION中第一个
SELECT语句中的列名。
UNION与WHERE
以下SQL语句从“Customers”和“Suppliers”表中返回 Country = 'Germany'(仅限不同的值):
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
UNION ALL使用WHERE
以下SQL语句从“Customers”和“Suppliers”表中返回 Country = 'Germany'(也是重复值):
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;